﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Ucb.Workshop.Dal;
using System.Data.SqlClient;
using System.Windows.Forms;

namespace Ucb.Workshop.Model
{
    public class Producto
    {
        DBManager conexion = new DBManager();

        int CodProducto;

        public int Cod_producto
        {
            get { return CodProducto; }
            set { CodProducto = value; }
        }
        string _codigo;

        public string Codigo
        {
            get { return _codigo; }
            set { _codigo = value; }
        }
        string _descripcion;

        public string Descripcion
        {
            get { return _descripcion; }
            set { _descripcion = value; }
        }
        string _unidad;

        public string Unidad
        {
            get { return _unidad; }
            set { _unidad = value; }
        }
        string _categoria;

        public string Categoria
        {
            get { return _categoria; }
            set { _categoria = value; }
        }

        string _empresa;
        public string Empresa
        {
            get { return _empresa; }
            set { _empresa = value; }
        }

        public void Insertar()
        {
            string consulta = "INSERT INTO producto(codigo, descripcion, unidad, categoria) VALUES('" + this.Codigo + "', '" + this.Descripcion + "', '" + this.Unidad + "', '" + this.Categoria + "')";
            conexion.EjecutarConsulta(consulta, "Producto Registrado!!!");
            
        }

        public void Eliminar()
        {
            string consulta = "DELETE FROM producto WHERE cod_producto = " + this.Cod_producto + "";
            if (!conexion.EjecutarConsulta(consulta, "Producto Eliminado!!!"))
                MessageBox.Show("El producto no se puede eliminar \n porque esta siendo utilizado!!!");
        }

        public void Modificar()
        {
            string consulta = "UPDATE producto SET codigo = '" + this.Codigo + "', descripcion = '" + this.Descripcion + "', unidad = '" + this.Unidad + "', categoria = '" + this.Categoria + "' WHERE cod_producto = " + this.Cod_producto + "";
            conexion.EjecutarConsulta(consulta, "Producto Modificado!!!");
        }

        public bool EsProductoCodigo()
        {
            string consulta = "SELECT * FROM producto WHERE codigo = '" + this.Codigo + "'";
            SqlDataReader valores = conexion.ExeConsulta(consulta);

            if (valores.HasRows)
            {
                return true;
            }
            else
                return false;
        }

        public bool EsProductoDescripcion()
        {
            try
            {
                string consulta = "SELECT * FROM producto WHERE descripcion = '" + this.Descripcion + "'";
                SqlDataReader valores = conexion.ExeConsulta(consulta);

                if (valores.HasRows)
                {
                    return true;
                }
                else
                    return false;
            }
            catch
            {
                return false;
            }

        }
    }
}
